Прямі методи розв’язування систем лінійних алгебраїчних рівнянь

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2007
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Алгоритмічні основи криптології
Група:
ІБ – 42

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НУ ”Львівська політехніка” Звіт про виконання лабораторної роботи №1 з курсу: ”Алгоритмічні основи криптології” на тему: ”Прямі методи розв’язування систем лінійних алгебраїчних рівнянь ” Львів-2007 Мета роботи: вивчити найпоширеніші прямі методи розв’язку систем лінійних алгебраїчних рівнянь, навчитись розв’язувати на ЕОМ системи алгебраїчних рівнянь, провести порівняльний аналіз розглянутих методів. Теоретичні відомості Методи чисельного розв’язку системи лінійних рівнянь поділяються на дві групи: точні методи, які дозволяють одержати розв’язок, якщо він існує, як скінчену кількість арифметичних операцій наближені методи, які дозволяють отримати розв’язок лише заданою точністю з припущенням, що обчислення проводяться без округлень Точні методи використовуються при розв’язку на ЕОМ системи невисокого порядку (n, де n –число алгебраїчних рівнянь). Наближені використовуються до систем високого порядку. Метод Гауса Метод Гауса можна реалізувати у вигляді різних обчислювальних схем, в основі яких лежить одна й таж сама ідея послідовного виключення невідомих. Розглянемо систему лінійних рівнянь четвертого порядку:  Знаходимо  з першого рівняння, одержуємо  Підставляємо  в інші рівняння, тоді прийдемо до системи з 3 рівнянь з 3 невідомими  Аналогічні перетворення здійснюємо з іншими змінними в результаті отримаємо систему вигляду:  Знайшовши  підставляємо його значення в рівняння  і т. д. Блок схема алгоритму   Текст програми розвязку системи лінійних алгебраїчних рівнянь методом Гауса #include <stdio.h> #include <math.h> #define n 4 #define m 5 void main(void) { int i,l,k; double q,c,s,mm; double a[n][m],d[n][m],x[n]; /* вводимо значення коефіцієнтів системи*/ for (i=0;i<n;i++) { for (k=0;k<m;k++) { printf ("a[%i%i]=",i+1,k+1); scanf ("%lf", &a[i][k]); d[i][k]=a[i][k]; } } /* виконуємо прямий хід */ for (l=0;l<(n-1);l++) { c=a[l][l]; for (i=l+1;i<n;i++) { mm=-a[i][l]/c; for (k=l+1;k<=n;k++) a[i][k]+=mm*a[l][k]; } } /* виконуємо зворотній хід */ for (i=0;i<=n;i++) x[i]=0; x[n-1]=-a[n-1][n]/a[n-1][n-1]; for (i=n-2;i>=0;i--) { s=a[i][n]; for (k=i;k<n;k++) s+=a[i][k]*x[k]; x[i]=-s/a[i][i]; } /* виводимо результати */ for (i=0;i<n;i++) printf("\nx[%i]=%lf",i+1,x[i]); / * здійснюємо перевірку перавильності виконаних обчислень */ for (i=0; i<n; i++) { q=0; for (k=0;k<(m-1);k++) q+=d[i][k]*x[k]; printf ("q%d=%lf\n",i,q); } } Вихідна система лінійних алгебраїчних рівнянь  Результат виконання програми  Висновок: під час виконання даної лабораторної роботи я вивчила найбільш поширені методи розв’язку системи лінійних алгебраїчних рівнянь, ознайомилася детальніше з методом Гауса та навчилася реалізовувати його в середовищі мови програмування Сі. Похибки округлень при ітераційному методі впливають на остаточні результати значно менше, ніж при розв’язку за методом Гауса, оскільки при його використані похибки не нагромаджуються. Метод ітерації стає особливо зручним при розв’язку систем переважна кількість коефіцієнтів яких дорівнює 0. Недоліком методу ітерації є те, що рішення не завжди збігаються.
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини